//引入模块
const express = require('express');
//创建web服务器
const r = express.Router();
//引入连接池
const pool = require('../pool');
const fs = require("fs")
const multer = require("multer")
//这里是第一个接口
//用户注册接口
//访问接口地址 http://127.0.0.1:8080/v1/index/username
r.post('/username', (req, res, next) => {
  let obj = req.body;
  console.log(obj, 'post执行了')
  pool.query('insert into zhuce_user set ?', [obj], (err, result) => {
    if (err) {
      next(err);
      return;
    };
    res.send({
      code: 200,
      msg: '注册成功',
      data: result
    })
  });
});
r.get('/phonerepeat', (req, res, next) => {
  let obj = req.query.phone
  console.log(obj)
  pool.query('select * from zhuce_user where phone=?', [obj], (err, result) => {
    if (err) {
      next(err);
      return
    };
    if (result[0] != null == true) {
      res.send({
        code: 201,
        msg: '查询到手机号',
        data: result
      })
    } else {
      res.send({
        code: 200,
        msg: '可以注册',
        data: result
      })
    }
  })
});
//获取上传的作品内容
//访问接口 http://127.0.0.1:5050/v1/index/pigname
r.post('/pigname', (req, res, next) => {
  let obj = req.body
})

//登录接口
//点击登录后获取手机号 判断数据库里是否存在 拿到如果存在 返回用户id
//去执行更多功能
r.get('/signin', (req, res, next) => {
  let obj = req.query
  console.log(obj)
  pool.query('select * from zhuce_user where password=?&&phone=?', [obj.password,obj.phone], (err, result) => {
    if (err) {
      next(err);
      return
    };
      // 用户存在 返回用户数据
      if(result[0]!=null==true){
        res.send({
          code:200,
          msg:'用户存在允许登录',
          data:result
        })
      }else{
        res.send({
          code:300,
          msg:'用户不存在先注册'
        })
      }
  })
});
//用户上传投稿内容接口
r.post("/contribution",(req,res,next)=>{
  let obj = req.body
  console.log('执行了')
  console.log(obj)
  pool.query('insert into doguser set ?',[obj],(err,result)=>{
    if(err){
      next(err);
      return
    }
    res.send({code:200,msg:'上传成功',data:result})
    console.log(result)
  })
})
//获取图片接口
r.post("/issql",(req,res,next)=>{
  console.log(1)
    pool.query('select * from doguser',(err,result)=>{
      if(err){
      next(err)
      return
      }
      res.send({code:200,msg:'拿到图片了',data:result})
      console.log(result)
    })
  });
// 用户头像上传接口
r.post(
  "/upload",
  multer({
    //设置文件存储路径
    dest: "public/userImg",
  }).array("file", 1),
  (req, res, next) => {
    console.log(req.body)
    let files = req.files;
    console.log(files);
    let file = files[0];
    // 要响应的变量
    let fileInfo = {};
    // 拼接本地储存后的图片的路径
    let path = "public/userImg/" + Date.now().toString() + "_" + file.originalname;
    // 将本次的图片添加进指定的文件中
    fs.renameSync("./public/userImg/" + file.filename, path);
    // 获取文件基本信息
    fileInfo.type = file.mimetype;
    fileInfo.name = file.originalname;
    fileInfo.size = file.size;
    fileInfo.path = path;
    // 响应结果
    res.send({
      code: 200,
      msg: "OK",
      data: fileInfo
    });
  }
)
// 删除用户上个头像的接口
r.post("/deleteUserImg", (req, res, next) => {
  // 要删除的图片
  let firstImages = req.body.firstImages;
  // 重新拼接出新的本地储存用户头像的路径
  firstImages = "./public" + firstImages.slice(firstImages.search("7777") + 4);
  // 删除指定的图片
  fs.unlink(firstImages, function (err) {
    // 如果删除失败则报错
    if (err) {
      console.log('原图删除失败');
      return;
    }
    // 成功则响应
    res.send({
      code: 200,
      msg: "图片删除成功"
    })
  })
})
//在这里引出模块
module.exports = r;